"""
一、IO流(Stream)
通过"流"的形式允许计算机程序使用相同的方式来访问不同的输入/输出源。
stream是从起源（source）到接收的（sink）的有序数据。
我们这里把输入/输出源 对比成 “水桶”，那么流就是“管道”。
"""

# 文件流：就是源或者目标都是文件的流

"""
二、文件流的操作
1、打开文件流
    文件对象=open(目标文件，访问模式)

2、读操作  
    文件对象.read():默认读取整个文件，或者可以读取指定大小的数据
    文件对象.readlines()
    文件对象.readline()
  
3、写操作
    文件对象.write()
    
4、seek()指针操作
    seek(偏移量，起始位置)：0：起始位置；1：当前位置；2：文件结尾位置
    tell()函数返回当前指针位置    

5、关闭
    close()
    
6、访问模式
    r、 rb ：只读、二进制只读
    r+、 rb+ ：读写、二进制读写
    
    w、 wb：只写入、二进制只写入，原有文件被删除
    w+、 wb+：读写、二进制读写，原有文件被删除
    
    a、 ab：追加、二进制追加，写入已有内容之后
    a+、 ab+：读写、二进制追加，写入已有内容之后
"""

# 创建（打开）文件流
f = open('test.txt', mode='r', encoding='gbk')

# 读文件
# print(f.read())
# print(f.read(10))  # 读前十个字符
# print(f.readline())  # 只读取一行
print(f.readlines())  # 读取所有行

# 关闭
f.close()
